#include "threadPool.hpp"
#include "Task.hpp"
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <unistd.h>
 
int main()
{
    srand((unsigned long)time(nullptr) ^ getpid());
 
    // 创建一个线程池实例
    ThreadPool<Task> tp(3);
    tp.run();
 
    while (true)
    {
        // 生产任务
        int x = rand() % 100 + 1;
        usleep(7721);
        int y = rand() % 30 + 1;
        Task t(x, y, [](int x, int y) -> int {
            return x + y;
        });
 
        // 记录日志
        logMessage(DEBUG, "制作任务完成: %d+%d=?", x, y);
 
        // 将任务推送到线程池
        tp.pushTask(t);
 
        sleep(1);
    }
 
    return 0;
}